package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 
 *
 * @author code-generate
 * @date 2021-09-01
 */
@Data
@DbTable(tableName = "t_project_info")
public class ProjectInfo extends BaseEntity {
        /**
     * 编号
     */
    @DbTableField(columnName = "c_code", dbType = DbTypeEnum.VARCHAR)
    public String code ;

    /**
     * 名称
     */
    @DbTableField(columnName = "c_name", dbType = DbTypeEnum.VARCHAR)
    public String name ;

    /**
     * 简称
     */
    @DbTableField(columnName = "c_short_name", dbType = DbTypeEnum.VARCHAR)
    public String shortName ;

    /**
     * 文号
     */
    @DbTableField(columnName = "c_title", dbType = DbTypeEnum.VARCHAR)
    public String title ;

    /**
     * 负责单位
     */
    @DbTableField(columnName = "c_mgr_dept", dbType = DbTypeEnum.VARCHAR)
    public String mgrDept ;

    /**
     * 负责单位Id
     */
    @DbTableField(columnName = "c_mgr_dept_id", dbType = DbTypeEnum.VARCHAR)
    public String mgrDeptId ;

    /**
     * 开工日期
     */
    @DbTableField(columnName = "c_begin_date")
    @JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "GMT+8", pattern = "yyyy-MM-dd")
    public LocalDateTime beginDate ;

    /**
     * 当前阶段
     */
    @DbTableField(columnName = "c_act_name", dbType = DbTypeEnum.VARCHAR)
    public String actName ;

    /**
     * 责任人
     */
    @DbTableField(columnName = "c_mgr_user", dbType = DbTypeEnum.VARCHAR)
    public String mgrUser ;

    /**
     * 责任人联系方式
     */
    @DbTableField(columnName = "c_mgr_user_phone", dbType = DbTypeEnum.VARCHAR)
    public String mgrUserPhone ;

    /**
     * 资金来源
     */
    @DbTableField(columnName = "c_money_src", dbType = DbTypeEnum.VARCHAR)
    public String moneySrc ;

    /**
     * 支付进度
     */
    @DbTableField(columnName = "c_pay_progress", dbType = DbTypeEnum.FLOAT)
    public Float payProgress ;

    /**
     * 建设性质
     */
    @DbTableField(columnName = "c_build_nature", dbType = DbTypeEnum.VARCHAR)
    public String buildNature ;

    /**
     * 估算总投资
     */
    @DbTableField(columnName = "c_plan_money", dbType = DbTypeEnum.DOUBLE)
    public Double planMoney ;

    /**
     * 总概算投资
     */
    @DbTableField(columnName = "c_estimate_money", dbType = DbTypeEnum.DOUBLE)
    public Double estimateMoney ;

    /**
     * 审定总造价
     */
    @DbTableField(columnName = "c_audit_money", dbType = DbTypeEnum.DOUBLE)
    public Double auditMoney ;

    /**
     * 内容
     */
    @DbTableField(columnName = "c_content", dbType = DbTypeEnum.VARCHAR)
    public String content ;

    /**
     * 竣工日期
     */
    @DbTableField(columnName = "c_end_date")
    @JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "GMT+8", pattern = "yyyy-MM-dd")
    public LocalDateTime endDate ;

    /**
     * 备注
     */
    @DbTableField(columnName = "c_remark", dbType = DbTypeEnum.VARCHAR)
    public String remark ;

    /**
     * 进度详情
     */
    @DbTableField(columnName = "c_progress_content", dbType = DbTypeEnum.VARCHAR)
    public String progressContent ;

    /**
     * 施工单位
     */
    @DbTableField(columnName = "c_company", dbType = DbTypeEnum.VARCHAR)
    public String company ;

    /**
     * 施工单位负责人
     */
    @DbTableField(columnName = "c_company_user", dbType = DbTypeEnum.VARCHAR)
    public String companyUser ;

    /**
     * 施工单位负责人联系方式
     */
    @DbTableField(columnName = "c_company_user_phone", dbType = DbTypeEnum.VARCHAR)
    public String companyUserPhone ;

    /**
     * 坐标X
     */
    @DbTableField(columnName = "c_lng_bd09", dbType = DbTypeEnum.FLOAT)
    public Float lngBd09 ;

    /**
     * 坐标Y
     */
    @DbTableField(columnName = "c_lat_bd09", dbType = DbTypeEnum.FLOAT)
    public Float latBd09 ;

    @ApiModelProperty(value = "文件")
    private List<ProjectFile> fileList;

    @ApiModelProperty(value = "流程")
    private List<ProjectProgress> projectProgressList;
}
